﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
using Volo.Abp;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using Bridge.Shared.Enums.Common;

namespace BaseInfo
{
    [Comment("生厂商")]
    [Table("t_base_manufacturer")]
    public class Manufacturer : AuditedAggregateRoot<Guid>, ISoftDelete, IMultiTenant
    {

        [MaxLength(100)]
        [Comment("厂商统一社会信用代码")]
        public string ManufacturerCode { get; set; }

        [MaxLength(200)]
        [Comment("厂商名称")]
        public string ManufacturerName { get; set; }

        [Comment("供应商企业类型:0供应商; 1生厂商; 2代理商")]
        public int EnterpriseType { get; set; }

        [MaxLength(50)]
        [Comment("法人")]
        public string LegalPerson { get; set; }


        [MaxLength(50)]
        [Comment("省")]
        public string Province { get; set; }

        [MaxLength(50)]
        [Comment("市")]
        public string City { get; set; }

       
        [MaxLength(50)]
        [Comment("区")]
        public string Area { get; set; }

   
        [MaxLength(200)]
        [Comment("地址")]
        public string Address { get; set; }

 
        [MaxLength(50)]
        [Comment("商品类型")]
        public string ProductType { get; set; }

        [MaxLength(200)]
        [Comment("备注")]
        public string Remark { get; set; }


        /// <summary>
        /// 成立日期
        /// </summary>
        public DateTime? BusinessDate { get; set; }

        /// <summary>
        /// 营业开始时间
        /// </summary>
        public DateTime? BusinessStart { get; set; }

        /// <summary>
        /// 营业截止时间
        /// </summary>
        public DateTime? BusinessEnd { get; set; }

        [Comment("是否长期经营")]
        public bool IslongTimeBusiness { get; set; }
        public Manufacturer(Guid keyId)

        {
            this.Id = keyId;
        }

        public Manufacturer()
        {

        }

        public bool IsDeleted { get; set; } = false;

        public Guid? TenantId { get; set; }
    }
}
